#pragma once
#include "Config.h"

#include "PixelFormat.h"
#include "Types.h"
#include <stddef.h>

namespace TrueText {

class BitmapInfo
{
public:
	BitmapInfo()
		: bits(0)
		, pixelFormat(PIXEL_FORMAT_ARGB_8888)
		, pitch(0)
	{ }

	void* GetBits() const { return bits; }
	void SetBits(void* value) { bits = value; }

	PixelFormat GetPixelFormat() const { return pixelFormat; }
	void SetPixelFormat(PixelFormat value) { pixelFormat = value; }

	size_t GetPitch() const { return pitch; }
	void SetPitch(size_t value) { pitch = value; }

	const Dimensions& GetBounds() const { return bounds; }
	void SetBounds(const Dimensions& value) { bounds = value; }
private:
	void* bits;
	PixelFormat pixelFormat;
	size_t pitch;
	Dimensions bounds;
};

}